#include <iostream>

int main(){
  using namespace std;
  /* 
    整型
      - 表示整数的类型
      char            1字节
      short int       2字节
      int             4字节
      long int        4字节
      long long int   8字节
      - 这些类型都表示整型，不同点在于它们所占用的内存大小不同。
      - 比如：
          C++规定，char类型就要 1字节 的内存

      signed
        - 关键字，声明整型时默认添加
        - 表示有符号类型
        - 强调当前值有符号时

      unsigned
        - 无符号类型
        - 当前类型只能表示正数
        - 当某个值无可能为负值时，使用unsigned

    整型的字面量
      100 默认是int
      'a' char
      100L long类型
      100LL long long类型
      100U 无符号类型

    其他进制的数字：
      二进制：0b....
      十六进制：0x...
      八进制：0...
      
    分隔符（C++14开始）：
      1'000'000'000

      
   */

  char a {'A'};
  // cout << a << endl;

  short b {32767ULL}; //-32768 - 32767
  // b = -32768; // short在当前环境中最大值是32767，当超过值时会发生整数溢出的情况


  signed int c {100};

  unsigned short d {65535};

  unsigned int age {100};

  int e = 10;

  int f = 1'000;

  cout << f << endl;
  // char a;
  // short b; // short int b
  // int c;
  // long d;
  // long long e;

  // cout << sizeof(a) << endl;
  // cout << sizeof(b) << endl;
  // cout << sizeof(c) << endl;
  // cout << sizeof(d) << endl;
  // cout << sizeof(e) << endl;

}